package qc.module.demo.api.controller;

import org.springframework.web.bind.annotation.*;
import qc.module.demo.dto.qcuser.QCRoleInfoDto;
import qc.module.demo.dto.qcuser.QCUserInfoDto;
import qc.module.demo.dto.qcuser.QCUserLoginDto;

import java.util.ArrayList;
import java.util.List;

/**
 * QCUserController
 *
 * @author QuCheng Tech
 * @create 2022/12/13
 */
@RestController
@RequestMapping("/qc-user")
public class QCUserController {
    //用于web端显示需要调用api返回用户信息使用
    @GetMapping("/userInfo")
    public QCUserInfoDto getUserInfo() {
        QCUserInfoDto dto = new QCUserInfoDto();

        dto.setUserId("1");
        dto.setUsername("qckj");
        dto.setRealName("Admin");
        dto.setAvatar("https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640");
        dto.setDesc("渠成测试-demo");
        dto.setPassword("123456");
        dto.setToken("fakeToken1");
        dto.setHomePath("/dashboard/analysis");

        List<QCRoleInfoDto> roles = new ArrayList<>();
        QCRoleInfoDto adminRole = new QCRoleInfoDto();
        adminRole.setRoleName("Super Admin");
        adminRole.setValue("super");
        roles.add(adminRole);

        dto.setRoles(roles);

        return dto;
    }

    @PostMapping("/login")
    public QCUserInfoDto login(@RequestBody QCUserLoginDto dto) {
        //模拟进行输入用户信息验证

        //返回用户信息
        return getUserInfo();
    }
}
